1-1.创建、登陆、查看、退出(数据库)、导入导出(数据库、表)以及授权指令
只有链接了数据库才可以执行SQL语句
连接PostgreSQL(登录)
调出命令提示符,输入指令:C:\PostgreSQL\9.5\bin\psql.exe –U postgres (输入指令回车后就会在命令提示符 窗口显示出“postgres=#”,意味着连接成功了)
创建数据库
在登录PostgreSQL后,输入指令:CREATE DATABASE shop; (shop是创建数据库的名字,输入指令回车后就会在命令提示符 窗口显示出“CREATE DATABASE”,意味着创建成功了)
结束PostgreSQL
在登录PostgreSQL后,输入指令:\q (“\q” 中的 q 是“quit”(退出)的缩写,输入指令回车就会退出PostgreSQL)
连接数据库
调出命令提示符,输入指令:C:\PostgreSQL\9.5\bin\psql.exe –U postgres –d shop (“-d shop”是指定“数据库 shop”的意思,输入指令回车后就会在命令提示符 窗口显示出“shop=#”,意味着连接成功了)
连接MySQL:mysql -hlocalhost -uroot -p(密码)
查看诠数据库管理系统中所有的数据库:show databases;
查看所bjpowernode数据库中的所有表格(前提先进入数据库):show tables;
查看描述表的结构:desc 表名;
查看表的创建询句:show create table 表名称;
查看MySQL版本:dos命令窗口下输入(不要进入mysql):mysql --version 或者 mysql -V
查看当前使用数据库:select database ();
查看MySQL数据库版本:select version();
如果想要终止一条SQL询句,可输入\c;
退出MySQL:可使用exit、\q戒exit;最方便快捷的是crtl+c
创建数据库:create database 数据库名字 character set utf8;
进入数据库:use 数据库名字;
导入导出(数据库、表)*导出时文件名随便写,不会影响库和表的名字
导出:mysqldump 导出整个数据库(在dos命令下,win键+R,窗口输入:cmd)
导出库命令:mysqldump 数据库名称 >要导出的地址 要导出的文件名.sql -uroot -p密码
例:C:\Users\呆呆>mysqldump haha >C:\Users\呆呆\Desktop\新建文件夹\练习60.sql -uroot -proot
导出表命令:mysqldump 数据库名称 表名 >要导出的地址 要导出的文件名.sql -uroot -p密码
例:C:\Users\呆呆>mysqldump haha emp >C:\Users\呆呆\Desktop\新建文件夹\练习60.sql -uroot -proot
导入:source 登录MySQL数据库管理系统后执行: mysql> source C:\Users\呆呆\Desktop\新建文件夹\练习60.sql
直接输入source后面加个空格然后直接将文件拖拽进来即可
MySQL导出
一、使用mysqldump命令导出:
注意:执行: mysqldump命令,如果/usr/bin目录下没有该命令则需要进入mysql安装目录bin下面执行。
1.导出该库全部表结构与表数据
#语法: mysqldump -u 用户名-p 数据库名 --default-character-set=utf8 > 导出路径/导出文件名
#示例: 用root用户以utf8编码格式导出数据库pengke到F盘目录下,导出文件名为pengke.sql
mysqldump -u root -p pengke --default-character-set=utf8 >F:/pengke.sql
2.只导出数据库函数与过程
#语法: mysqldump -u 用户名 -p -ntd -R 数据库名 > 导出路径/导出文件名
#其中的 -ntd 是表示导出存储过程;-R是表示导出函数
#示例: 用root用户导出数据库pengke下的存储过程函数到F盘目录下,导出文件名为pengke_fun.sql
mysqldump -u root -p -ntd -R pengke >F:/pengke_fun.sql
3.导出指定表的结构与数据(单表)
#语法: mysqldump -u 用户名 -p 数据库名 表名 > 导出路径/文件名
#示例: 导出数据库pengke中的user表
mysqldump -u root -p pengke user > F:/user.sql
4.导出指定表的结构与数据(多表)
#语法: mysqldump -u 用户名 -p 数据库名 表1 表2 表3> 文件名
# 多张表名用空格隔开
#示例: 导出数据库pengke中的pserson,dept表
mysqldump -u root -p pengke pserson dept > F:/user2.sql
5.只导出事件
#示例
mysqldump -E -ndt test -u root -p > F:/my_event.sql
MySQL导入
一、使用source命令导入:
1.选择数据库
mysql>use test1;
2.设置数据库编码
mysql>set names utf8;
3.导入数据(注意sql文件的路径)
mysql>source /home/abc/abc.sql;
DBA命令
新建用户
CREATE USER username IDENTIFIED BY 'password';
username:你将创建的用户名,
password:该用户的登陆密码,密码可以为空,如果为空则该用户可以丌需要密码登陆服务器.
示例:
create user p361 identified by '123'; --可以登录但是叧可以看见一个库 information_schema
授权
命令详解
示例:grant all privileges on dbname.tbname to 'username'@'login ip' identified by 'password' with grant option;
1) dbname=*表示所有数据库
2) tbname=*表示所有表
3) login ip=%表示任何ip
4) password为空,表示丌需要密码即可登录
5) with grant option; 表示该用户还可以授权给其他用户
细粒度授权
1、首先以root用户迚入mysql
2、然后键入命令:grant select,insert,update,delete on *.* to p361 @localhost Identified by "123";
3、如果希望该用户能够在任何机器上登陆mysql,则将localhost改为 "%" 。
粗粒度授权
我们测试用户一般使用该命令授权:
GRANT ALL PRIVILEGES ON *.* TO 'p361'@'%' Identified by "123"; 注意:用以上命令授权的用户丌能给其它用户授权,如果想让该用户可以授权,用以下命令:
GRANT ALL PRIVILEGES ON *.* TO 'p361'@'%' Identified by "123" WITH GRANT OPTION;
用户权限privileges包括:
1) alter:修改数据库的表
2) create:创建新的数据库戒表
3) delete:删除表数据
4) drop:删除数据库/表
5) index:创建/删除索引
6) insert:添加表数据
7) select:查询表数据
8) update:更新表数据
9) all:允许任何操作
10) usage:叧允许登录
回收授权
命令详解
revoke privileges on dbname[.tbname] from username;
revoke all privileges on *.* from p361;
use mysql select * from user 迚入 mysql库中
修改密码;
update user set password = password('qwe') where user = 'p646';
刷新权限;
flush privileges